
//** --- ID146 grafikCityShuttledosto BB CityShuttledostowagen --- **//

spriteset(gr_CityShuttledosto,"gfx/CityShuttledosto.png"){tmpl_32_4(0,20,0,0,0,0,0,0,0,0)}				// Grafik DB Dosto IC

spriteset(gr_CityShuttledosto_purchase,"gfx/purchase.png"){tmpl_purchase(44)}								// Grafik DB Dosto PURCHASE

//** --- ID147 grafikstwCityShuttledosto BB dostocityshuttlesteuerwagen --- **//

spriteset(gr_CityShuttledostostw_front,"gfx/CityShuttledosto.png"){tmpl_32_short(0,50)}		// Grafik DoStoIC Steuerwagen DB vorne

spriteset(gr_CityShuttledostostw_rear,"gfx/CityShuttledosto.png"){tmpl_32(0,80,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0)}		// Grafik DoStoIC Steuerwagen DB hinten

spriteset(gr_CityShuttledostostw_purchase,"gfx/purchase.png"){tmpl_purchase(45)}

//** --- ID148 grafikCityShuttle BB CityShuttlewagen --- **//

spriteset(gr_CityShuttle,"gfx/CityShuttle.png"){tmpl_32_4(0,20,0,0,0,0,0,0,0,0)}				// Grafik DB Dosto IC

spriteset(gr_CityShuttle_purchase,"gfx/purchase.png"){tmpl_purchase(46)}								// Grafik DB Dosto PURCHASE

//** --- ID149 grafikstwCityShuttledosto BB cityshuttlesteuerwagen --- **//

spriteset(gr_CityShuttlestw_front,"gfx/CityShuttle.png"){tmpl_32(0,50,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0)}		// Grafik DoStoIC Steuerwagen DB vorne

spriteset(gr_CityShuttlestw_rear,"gfx/CityShuttle.png"){tmpl_32(0,80,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0)}		// Grafik DoStoIC Steuerwagen DB hinten

spriteset(gr_CityShuttlestw_purchase,"gfx/purchase.png"){tmpl_purchase(47)}



//** -------------------- ID46 propobb1144 OBB 1144 -------------------- **//

/* - Falls Wendezugbetrieb mit Cityshuttlewagen, checken ob der Zug gewendet wurde - */
switch(FEAT_TRAINS,SELF,sw_OBB1144_gr_wendezug_CityShuttle,vehicle_is_reversed){
	1:gr_CityShuttlestw_front;			// Wenn ja, dann anzeigen des Steuerwagens, statt der Lok
	gr_obb1144;					// Wenn nicht, dann anzeigen der normalen Lokgrafik
}

/* - Falls Wendezugbetrieb mit Doppelstock-Cityshuttlewagen, checken ob der Zug gewendet wurde - */
switch(FEAT_TRAINS,SELF,sw_OBB1144_gr_wendezug_CityShuttledosto,vehicle_is_reversed){
	1:gr_CityShuttledostostw_front;			// Wenn ja, dann anzeigen des Steuerwagens, statt der Lok
	gr_obb1144;					// Wenn nicht, dann anzeigen der normalen Lokgrafik
}

/* - Check ob ein Cityshuttle steuerwagen angekoppelt ist - */
switch(FEAT_TRAINS,SELF,sw_gr_obb1144_keineCityShuttledostos,count_veh_id(stwCityShuttle) > 0 && count_veh_id(obb1144) == 1) {
	1: sw_OBB1144_gr_wendezug_CityShuttle;		// Wenn ja, dann Wendezugbetrieb
	gr_obb1144;											// Wenn nicht, ganz normaler Betrieb
	}

/* - Check ob ein Doppelstock-Cityshuttle steuerwagen angekoppelt ist - */
switch(FEAT_TRAINS,SELF,sw_obb1144_graphics,count_veh_id(stwCityShuttledosto) > 0 && count_veh_id(obb1144) == 1){
	1: sw_OBB1144_gr_wendezug_CityShuttledosto;		// Wenn ja, dann Wendezugbetrieb
	sw_gr_obb1144_keineCityShuttledostos; // Wenn nicht, dann wird nach anderen Steuerwagen gesucht
	}

/* - Anpassen des visuellen Effektes entsprechend der Fahrtrichtung - */
switch(FEAT_TRAINS,SELF,sw_OBB1144_ve,count_veh_id(stwCityShuttledosto) > 0 | count_veh_id(stwCityShuttledosto) > 0 && vehicle_is_reversed == 1){
	0: visual_effect_and_powered(VISUAL_EFFECT_ELECTRIC,-2,ENABLE_WAGON_POWER);
	visual_effect_and_powered(VISUAL_EFFECT_DISABLE,0,DISABLE_WAGON_POWER);
	}

/* - Check ob der Wagen angekoppelt werden darf - */
switch(FEAT_TRAINS,SELF,sw_OBB1144_wagon_attach_kein_stw,vehicle_type_id){
	stwCityShuttledosto: CB_RESULT_ATTACH_ALLOW;		// BB CityShuttledosto
	CityShuttledosto: CB_RESULT_ATTACH_ALLOW;	// BB CityShuttledosto
	stwCityShuttle: CB_RESULT_ATTACH_ALLOW;		// BB CityShuttle
	CityShuttle: CB_RESULT_ATTACH_ALLOW;	// BB CityShuttle
	obb1144: CB_RESULT_ATTACH_ALLOW;		// Eine weitere obb1144
	string(STR_CANNOT_ATTACH_LOK);		// Alle anderen 
	}

/* - Check ob schon ein Steuerwagen angehaengt ist - */
switch(FEAT_TRAINS,PARENT,sw_OBB1144_wagon_attach, bitmask_consist_info & bitmask(2)){
	0: sw_OBB1144_wagon_attach_kein_stw;		// Wenn nicht, dann check ob Wagen angekoppelt werden darf
	 string(STR_STW_VORHANDEN);				// Wenn ja, dann Meldung dass schon ein Stw vorhanden ist
		}

item (FEAT_TRAINS,obb1144,46) {
	property {
		sprite_id:			SPRITE_ID_NEW_TRAIN;
		name:               string(STR_NAME_OBB1144);
		climates_available: bitmask(CLIMATE_TEMPERATE,CLIMATE_ARCTIC);
		introduction_date:  date(2000,1,1);
		model_life:			VEHICLE_NEVER_EXPIRES;
		speed:              160 km/h;
		vehicle_life:		35;
		cost_factor:		157;
		running_cost_factor:155;
		running_cost_base:	RUNNING_COST_ELECTRIC;
		track_type:			RAIL;
		power:				5200 kW;
		engine_class:		ENGINE_CLASS_ELECTRIC;
		cargo_capacity:		0;
		refittable_cargo_types: bitmask(PASS);
		weight:				84 tons;
		tractive_effort_coefficient: 0.3594; // 92
		air_drag_coefficient: 0.05;
					}
	graphics{
	default: sw_obb1144_graphics;
	additional_text: string(STR_OBB1144_ADDITIONAL_TEXT);
	purchase: gr_obb1144_purchase;
	visual_effect_and_powered: sw_OBB1144_ve;
	can_attach_wagon: sw_OBB1144_wagon_attach;
	         }
}

//** -------------------- ID47 propobb1142 OBB 1142 -------------------- **//

/* - Falls Wendezugbetrieb mit Cityshuttlewagen, checken ob der Zug gewendet wurde - */
switch(FEAT_TRAINS,SELF,sw_OBB1142_gr_wendezug_CityShuttle,vehicle_is_reversed){
	1:gr_CityShuttlestw_front;			// Wenn ja, dann anzeigen des Steuerwagens, statt der Lok
	gr_obb1142;					// Wenn nicht, dann anzeigen der normalen Lokgrafik
}

/* - Falls Wendezugbetrieb mit Doppelstock-Cityshuttlewagen, checken ob der Zug gewendet wurde - */
switch(FEAT_TRAINS,SELF,sw_OBB1142_gr_wendezug_CityShuttledosto,vehicle_is_reversed){
	1:gr_CityShuttledostostw_front;			// Wenn ja, dann anzeigen des Steuerwagens, statt der Lok
	gr_obb1142;					// Wenn nicht, dann anzeigen der normalen Lokgrafik
}

/* - Check ob ein Cityshuttle steuerwagen angekoppelt ist - */
switch(FEAT_TRAINS,SELF,sw_gr_obb1142_keineCityShuttledostos,count_veh_id(stwCityShuttle) > 0 && count_veh_id(obb1142) == 1) {
	1: sw_OBB1142_gr_wendezug_CityShuttle;		// Wenn ja, dann Wendezugbetrieb
	gr_obb1142;											// Wenn nicht, ganz normaler Betrieb
	}

/* - Check ob ein Doppelstock-Cityshuttle steuerwagen angekoppelt ist - */
switch(FEAT_TRAINS,SELF,sw_obb1142_graphics,count_veh_id(stwCityShuttledosto) > 0 && count_veh_id(obb1142) == 1){
	1: sw_OBB1142_gr_wendezug_CityShuttledosto;		// Wenn ja, dann Wendezugbetrieb
	sw_gr_obb1142_keineCityShuttledostos; // Wenn nicht, dann wird nach anderen Steuerwagen gesucht
	}

/* - Anpassen des visuellen Effektes entsprechend der Fahrtrichtung - */
switch(FEAT_TRAINS,SELF,sw_OBB1142_ve,count_veh_id(stwCityShuttledosto) > 0 | count_veh_id(stwCityShuttledosto) > 0 && vehicle_is_reversed == 1){
	0: visual_effect_and_powered(VISUAL_EFFECT_ELECTRIC,-2,ENABLE_WAGON_POWER);
	visual_effect_and_powered(VISUAL_EFFECT_DISABLE,0,DISABLE_WAGON_POWER);
	}

/* - Check ob der Wagen angekoppelt werden darf - */
switch(FEAT_TRAINS,SELF,sw_OBB1142_wagon_attach_kein_stw,vehicle_type_id){
	stwCityShuttledosto: CB_RESULT_ATTACH_ALLOW;		// BB CityShuttledosto
	CityShuttledosto: CB_RESULT_ATTACH_ALLOW;	// BB CityShuttledosto
	stwCityShuttle: CB_RESULT_ATTACH_ALLOW;		// BB CityShuttle
	CityShuttle: CB_RESULT_ATTACH_ALLOW;	// BB CityShuttle
	obb1142: CB_RESULT_ATTACH_ALLOW;		// Eine weitere obb1142
	string(STR_CANNOT_ATTACH_LOK);		// Alle anderen 
	}

/* - Check ob schon ein Steuerwagen angehaengt ist - */
switch(FEAT_TRAINS,PARENT,sw_OBB1142_wagon_attach, bitmask_consist_info & bitmask(2)){
	0: sw_OBB1142_wagon_attach_kein_stw;		// Wenn nicht, dann check ob Wagen angekoppelt werden darf
	 string(STR_STW_VORHANDEN);				// Wenn ja, dann Meldung dass schon ein Stw vorhanden ist
		}

item (FEAT_TRAINS,obb1142,47) {
	property {
		sprite_id:			SPRITE_ID_NEW_TRAIN;
		name:               string(STR_NAME_OBB1142);
		climates_available: bitmask(CLIMATE_TEMPERATE,CLIMATE_ARCTIC);
		introduction_date:  date(1995,1,1);
		model_life:			VEHICLE_NEVER_EXPIRES;
		speed:              150 km/h;
		vehicle_life:		35;
		cost_factor:		157;
		running_cost_factor:155;
		running_cost_base:	RUNNING_COST_ELECTRIC;
		track_type:			RAIL;
		power:				4000 kW;
		engine_class:		ENGINE_CLASS_ELECTRIC;
		cargo_capacity:		0;
		refittable_cargo_types: bitmask(PASS);
		weight:				83 tons;
		tractive_effort_coefficient: 0.3594; // 92
		air_drag_coefficient: 0.05;
					}
	graphics{
	default: sw_obb1142_graphics;
	additional_text: string(STR_OBB1142_ADDITIONAL_TEXT);
	purchase: gr_obb1142_purchase;
	visual_effect_and_powered: sw_OBB1142_ve;
	can_attach_wagon: sw_OBB1142_wagon_attach;
	         }
}










//** -------------------- ID146 propCityShuttledosto CityShuttledosto -------------------- **//														Silberling


item (FEAT_TRAINS,CityShuttledosto,146) {
	property {
		sprite_id:			SPRITE_ID_NEW_TRAIN;
		name:               string(STR_NAME_CityShuttledosto);
		climates_available: bitmask(CLIMATE_TEMPERATE,CLIMATE_ARCTIC);
		introduction_date:  date(1995,1,1);
		model_life:			VEHICLE_NEVER_EXPIRES;
		loading_speed:		25;
		speed:              150 km/h;
		cost_factor:		105;
		running_cost_factor:70;
		bitmask_vehicle_info: bitmask(1);
		running_cost_base:	RUNNING_COST_ELECTRIC;
		track_type:			RAIL;
		power:				0 kW;
		cargo_capacity:		100;
		weight:				48 tons;
		refittable_cargo_classes: bitmask(CC_PASSENGERS);
		non_refittable_cargo_classes: bitmask();
        refittable_cargo_types: bitmask();
				}
	graphics{
	default: gr_CityShuttledosto;
	purchase: gr_CityShuttledosto_purchase;
	additional_text: return string(STR_CityShuttledosto_ADDITIONAL_TEXT);
		         }
}

//** -------------------- ID147 propstwCityShuttledosto Steuerwagen CityShuttledosto -------------------- **//											Silberling STW



switch(FEAT_TRAINS,PARENT,sw_CityShuttledostostw_graphics_wendezug_obb1142,vehicle_is_reversed && count_veh_id(obb1142) == 1){
	1: gr_obb1142_rev;
	gr_CityShuttledostostw_rear;
	}
switch(FEAT_TRAINS,PARENT,sw_CityShuttledostostw_graphics_wendezug_obb1144,vehicle_is_reversed && count_veh_id(obb1144) == 1){
	1: gr_obb1144_rev;
	gr_CityShuttledostostw_rear;
	}

switch(FEAT_TRAINS,PARENT,sw_stwCityShuttledosto_graphics,vehicle_type_id){
	obb1142: sw_CityShuttledostostw_graphics_wendezug_obb1142;
	obb1144: sw_CityShuttledostostw_graphics_wendezug_obb1144;
	gr_CityShuttledostostw_rear;
	}



switch(FEAT_TRAINS,PARENT,sw_stwCityShuttledosto_ve,(vehicle_type_id == obb1142 || vehicle_type_id == obb1144)  && vehicle_is_reversed == 1){
	1: visual_effect_and_powered(VISUAL_EFFECT_ELECTRIC,2,ENABLE_WAGON_POWER);
	visual_effect_and_powered(VISUAL_EFFECT_DISABLE,0,DISABLE_WAGON_POWER);
	}



item (FEAT_TRAINS,stwCityShuttledosto,147) {
	property {
		sprite_id:			SPRITE_ID_NEW_TRAIN;
		name:               string(STR_NAME_stwCityShuttledosto);
		climates_available: bitmask(CLIMATE_TEMPERATE,CLIMATE_ARCTIC);
		introduction_date:  date(1995,1,1);
		model_life:			VEHICLE_NEVER_EXPIRES;
		loading_speed:		23;
		speed:              150 km/h;
		cost_factor:		120;
		running_cost_factor:110;
		running_cost_base:	RUNNING_COST_ELECTRIC;
		track_type:			RAIL;
		bitmask_vehicle_info: bitmask(2);
		power:				0 kW;
		cargo_capacity:		78;
		weight:				48 tons;
		refittable_cargo_classes: bitmask(CC_PASSENGERS);
		non_refittable_cargo_classes: bitmask();
        refittable_cargo_types: bitmask();
				}
	graphics{
	default: sw_stwCityShuttledosto_graphics;
	purchase: gr_CityShuttledostostw_purchase;
	visual_effect_and_powered: sw_stwCityShuttledosto_ve;
	additional_text: return string(STR_STWCityShuttledosto_ADDITIONAL_TEXT);
	cargo_subtype_text: string(STR_CARGO_SUBTYPE_STW);
			         }
}
//** -------------------- ID148 propCityShuttledosto CityShuttle -------------------- **//														Silberling


item (FEAT_TRAINS,CityShuttle,148) {
	property {
		sprite_id:			SPRITE_ID_NEW_TRAIN;
		name:               string(STR_NAME_CityShuttle);
		climates_available: bitmask(CLIMATE_TEMPERATE,CLIMATE_ARCTIC);
		introduction_date:  date(1990,1,1);
		model_life:			VEHICLE_NEVER_EXPIRES;
		loading_speed:		25;
		speed:              140 km/h;
		cost_factor:		80;
		running_cost_factor:50;
		bitmask_vehicle_info: bitmask(1);
		running_cost_base:	RUNNING_COST_ELECTRIC;
		track_type:			RAIL;
		power:				0 kW;
		cargo_capacity:		50;
		weight:				35 tons;
		refittable_cargo_classes: bitmask(CC_PASSENGERS);
		non_refittable_cargo_classes: bitmask();
        refittable_cargo_types: bitmask();
				}
	graphics{
	default: gr_CityShuttle;
	purchase: gr_CityShuttle_purchase;
	additional_text: return string(STR_CityShuttle_ADDITIONAL_TEXT);
		         }
}

//** -------------------- ID149 propstwCityShuttle Steuerwagen CityShuttle -------------------- **//											Silberling STW



switch(FEAT_TRAINS,PARENT,sw_stwCityShuttle_graphics_wendezug_obb1142,vehicle_is_reversed && count_veh_id(obb1142) == 1){
	1: gr_obb1142_rev;
	gr_CityShuttlestw_rear;
	}
switch(FEAT_TRAINS,PARENT,sw_stwCityShuttle_graphics_wendezug_obb1144,vehicle_is_reversed && count_veh_id(obb1144) == 1){
	1: gr_obb1144_rev;
	gr_CityShuttlestw_rear;
	}

switch(FEAT_TRAINS,PARENT,sw_stwCityShuttle_graphics,vehicle_type_id){
	obb1142: sw_stwCityShuttle_graphics_wendezug_obb1142;
	obb1144: sw_stwCityShuttle_graphics_wendezug_obb1144;
	gr_CityShuttledostostw_rear;
	}



switch(FEAT_TRAINS,PARENT,sw_stwCityShuttle_ve,(vehicle_type_id == obb1142 || vehicle_type_id == obb1144)  && vehicle_is_reversed == 1){
	1: visual_effect_and_powered(VISUAL_EFFECT_ELECTRIC,2,ENABLE_WAGON_POWER);
	visual_effect_and_powered(VISUAL_EFFECT_DISABLE,0,DISABLE_WAGON_POWER);
	}



item (FEAT_TRAINS,stwCityShuttle,149) {
	property {
		sprite_id:			SPRITE_ID_NEW_TRAIN;
		name:               string(STR_NAME_stwCityShuttle);
		climates_available: bitmask(CLIMATE_TEMPERATE,CLIMATE_ARCTIC);
		introduction_date:  date(1990,1,1);
		model_life:			VEHICLE_NEVER_EXPIRES;
		loading_speed:		23;
		speed:              140 km/h;
		cost_factor:		90;
		running_cost_factor:80;
		running_cost_base:	RUNNING_COST_ELECTRIC;
		track_type:			RAIL;
		bitmask_vehicle_info: bitmask(2);
		power:				0 kW;
		cargo_capacity:		45;
		weight:				35 tons;
		refittable_cargo_classes: bitmask(CC_PASSENGERS);
		non_refittable_cargo_classes: bitmask();
        refittable_cargo_types: bitmask();
				}
	graphics{
	default: sw_stwCityShuttle_graphics;
	purchase: gr_CityShuttlestw_purchase;
	visual_effect_and_powered: sw_stwCityShuttle_ve;
	additional_text: return string(STR_STWCityShuttle_ADDITIONAL_TEXT);
	cargo_subtype_text: string(STR_CARGO_SUBTYPE_STW);
			         }
}